static void
get_component_paddings (GtkCalendar *calendar,
- GtkBorder *padding,
GtkBorder *day_padding,
GtkBorder *day_name_padding,
GtkBorder *week_padding)
widget = GTK_WIDGET (calendar);
context = gtk_widget_get_style_context (widget);
- if (padding)
- gtk_style_context_get_padding (context, padding);
-
if (day_padding)
{
gtk_style_context_save (context);
gint week_width;
gint calendar_xsep = calendar_get_xsep (calendar);
gint inner_border = calendar_get_inner_border (calendar);
- GtkBorder padding;
- get_component_paddings (calendar, &padding, NULL, NULL, NULL);
+ get_component_paddings (calendar, NULL, NULL, NULL);
- week_width = priv->week_width + padding.left + inner_border;
+ week_width = priv->week_width + inner_border;
if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL)
{
gint row)
{
GtkCalendarPrivate *priv = calendar->priv;
- GtkBorder padding;
gint inner_border = calendar_get_inner_border (calendar);
- get_component_paddings (calendar, &padding, NULL, NULL, NULL);
-
- return priv->header_h + priv->day_name_h + padding.top + inner_border
+ return priv->header_h + priv->day_name_h + inner_border
+ row * calendar_row_height (calendar);
}
{
GtkWidget *widget = GTK_WIDGET (calendar);
GtkCalendarPrivate *priv = calendar->priv;
- int width, height;
- GtkBorder padding;
+ int width;
gboolean year_left;
- get_component_paddings (calendar, &padding, NULL, NULL, NULL);
- gtk_widget_get_content_size (widget, &width, &height);
+ width = gtk_widget_get_width (widget);
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
year_left = priv->year_before;
{
case ARROW_MONTH_LEFT:
if (year_left)
- rect->x = (width - padding.left - padding.right
- - (3 + 2 * priv->arrow_width + priv->max_month_width));
+ rect->x = (width - (3 + 2 * priv->arrow_width + priv->max_month_width));
else
rect->x = 3;
break;
case ARROW_MONTH_RIGHT:
if (year_left)
- rect->x = (width - padding.left - padding.right
- - 3 - priv->arrow_width);
+ rect->x = width - 3 - priv->arrow_width;
else
- rect->x = (priv->arrow_width + priv->max_month_width);
+ rect->x = priv->arrow_width + priv->max_month_width;
break;
case ARROW_YEAR_LEFT:
if (year_left)
rect->x = 3;
else
- rect->x = (width - padding.left - padding.right
- - (3 + 2 * priv->arrow_width + priv->max_year_width));
+ rect->x = width - (3 + 2 * priv->arrow_width + priv->max_year_width);
break;
case ARROW_YEAR_RIGHT:
if (year_left)
rect->x = (priv->arrow_width + priv->max_year_width);
else
- rect->x = (width - padding.left - padding.right
- - 3 - priv->arrow_width);
+ rect->x = width - 3 - priv->arrow_width;
break;
default:
g_assert_not_reached();
}
-
- rect->x += padding.left;
- rect->y += padding.top;
}
static void
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
GtkCalendarPrivate *priv = calendar->priv;
- GtkBorder padding, day_padding, day_name_padding, week_padding;
+ GtkBorder day_padding, day_name_padding, week_padding;
PangoLayout *layout;
PangoRectangle logical_rect;
}
}
- get_component_paddings (calendar, &padding, &day_padding, &day_name_padding, &week_padding);
+ get_component_paddings (calendar, &day_padding, &day_name_padding, &week_padding);
priv->min_day_width += day_padding.left + day_padding.right;
if (show_week_numbers)
? priv->max_week_char_width * 2 + calendar_xsep * 2
: 0));
- requisition->width = MAX (header_width, main_width + inner_border * 2) + padding.left + padding.right;
+ requisition->width = MAX (header_width, main_width + inner_border * 2);
/*
* Calculate the requisition height for the widget.
height = priv->header_h + priv->day_name_h + priv->main_h;
- requisition->height = height + padding.top + padding.bottom + (inner_border * 2);
+ requisition->height = height + (inner_border * 2);
g_object_unref (layout);
}
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
GtkCalendarPrivate *priv = calendar->priv;
- GtkBorder padding;
gint inner_border = calendar_get_inner_border (calendar);
gint calendar_xsep = calendar_get_xsep (calendar);
- get_component_paddings (calendar, &padding, NULL, NULL, NULL);
-
if (priv->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
{
priv->day_width = (priv->min_day_width
- * ((allocation->width - (inner_border * 2) - padding.left - padding.right
+ * ((allocation->width - (inner_border * 2)
- (CALENDAR_MARGIN * 2) - (DAY_XSEP * 6) - calendar_xsep * 2))
/ (7 * priv->min_day_width + priv->max_week_char_width * 2));
- priv->week_width = ((allocation->width - (inner_border * 2) - padding.left - padding.right
+ priv->week_width = ((allocation->width - (inner_border * 2)
- (CALENDAR_MARGIN * 2) - (DAY_XSEP * 6) - calendar_xsep * 2 )
- priv->day_width * 7 + CALENDAR_MARGIN + calendar_xsep);
}
{
priv->day_width = (allocation->width
- (inner_border * 2)
- - padding.left - padding.right
- (CALENDAR_MARGIN * 2)
- (DAY_XSEP * 6))/7;
priv->week_width = 0;
{
GtkWidget *widget = GTK_WIDGET (calendar);
GtkCalendarPrivate *priv = calendar->priv;
- GtkAllocation allocation;
GtkStyleContext *context;
GtkStateFlags state;
- GtkBorder padding;
char buffer[255];
gint x, y;
gint header_width;
struct tm *tm;
gchar *str;
- get_component_paddings (calendar, &padding, NULL, NULL, NULL);
context = gtk_widget_get_style_context (widget);
- gtk_snapshot_offset (snapshot, padding.left, padding.top);
-
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
year_left = priv->year_before;
else
year_left = !priv->year_before;
- gtk_widget_get_allocation (widget, &allocation);
-
- header_width = allocation.width - padding.left - padding.right;
+ header_width = gtk_widget_get_width (widget);
max_month_width = priv->max_month_width;
max_year_width = priv->max_year_width;
g_object_unref (layout);
gtk_style_context_restore (context);
- gtk_snapshot_offset (snapshot, -padding.left, -padding.top);
}
static void
GtkCalendarPrivate *priv = calendar->priv;
GtkStyleContext *context;
GtkStateFlags state;
- GtkBorder padding, day_name_padding;
- GtkAllocation allocation;
+ GtkBorder day_name_padding;
char buffer[255];
int day,i;
int day_width, cal_width;
gint calendar_xsep = calendar_get_xsep (calendar);
gint inner_border = calendar_get_inner_border (calendar);
- get_component_paddings (calendar, &padding, NULL, &day_name_padding, NULL);
+ get_component_paddings (calendar, NULL, &day_name_padding, NULL);
context = gtk_widget_get_style_context (widget);
gtk_snapshot_offset (snapshot,
- padding.left + inner_border,
- priv->header_h + padding.top + inner_border);
-
- gtk_widget_get_allocation (widget, &allocation);
+ inner_border,
+ priv->header_h + inner_border);
day_width = priv->day_width;
- cal_width = allocation.width - (inner_border * 2) - padding.left - padding.right;
+ cal_width = gtk_widget_get_width (widget) - (inner_border * 2);
day_wid_sep = day_width + DAY_XSEP;
/*
gtk_style_context_restore (context);
gtk_snapshot_offset (snapshot,
- - (padding.left + inner_border),
- - (priv->header_h + padding.top + inner_border));
+ - inner_border,
+ - (priv->header_h + inner_border));
}
static void
GtkCalendarPrivate *priv = calendar->priv;
GtkStyleContext *context;
GtkStateFlags state;
- GtkBorder padding, week_padding;
+ GtkBorder week_padding;
gint row, x_loc, y_loc;
gint day_height;
char buffer[32];
gint inner_border = calendar_get_inner_border (calendar);
gint x, y;
- get_component_paddings (calendar, &padding, NULL, NULL, &week_padding);
+ get_component_paddings (calendar, NULL, NULL, &week_padding);
context = gtk_widget_get_style_context (widget);
- y = priv->header_h + priv->day_name_h + (padding.top + inner_border);
+ y = priv->header_h + priv->day_name_h + inner_border;
if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
- x = padding.left + inner_border;
+ x = inner_border;
else
- x = gtk_widget_get_allocated_width (widget) - priv->week_width - (padding.right + inner_border);
+ x = gtk_widget_get_width (widget) - priv->week_width - inner_border;
state = gtk_style_context_get_state (context);
state &= ~GTK_STATE_FLAG_DROP_ACTIVE;